Detection  of human-machine interaction errors

ABSTRACT

Disclosed are a system and method of detection of an interaction-error. The interaction-error is derived from an incorrect decision and is directed to interacting with a machine. During human-machine interaction, command related data values are obtained. Command related data values characterize any one of an interacting-command and an interacting-action. The command related data values are compared with command related reference data values, and an interaction-error is identified if a difference between the command related data values and the command related reference data values complies with a predefined criterion.

CROSS REFERENCE TO RELATED APPLICATION

This application is a National Phase filing under 35 C.F.R. § 371 of andclaims priority to International Application No.: PCT/IL2015/050633,filed on Jun. 22, 2015, which claims priority to U.S. Provisional PatentApplication No. 62/015,715 filed on Jun. 23, 2014, the contents of eachof which are hereby incorporated in their entireties by reference.

TECHNICAL FIELD

The presently disclosed subject matter relates to the field ofhuman-machine interaction.

BACKGROUND

Decision-making can be regarded as a cognitive process resulting in theconscious or unconscious selection from several possible alternatives.The final result of a decision-making process is a selected choice thatmay in some cases prompt an action.

Incorrect decisions (or incorrect actions resulting from such decisions)can result from internal cognitive errors made during thedecision-making process. For example, decisions which are made undervarious sub-optimal conditions are prone to be incorrect. Sub-optimaldecision-making conditions include for example, decision-making underpressure, decision-making absent-mindedly, decision-making in situationswhere uncertainty prevails, decision-making while being distracted orwhile performing multiple tasks simultaneously, and so forth.

Additionally, incorrect decisions (or incorrect actions resulting fromsuch decisions) can also include decisions or actions which may havebeen initially correct but have become incorrect during or shortly afterthey were made. For example, this is so when a person making onedecision makes a different (possibly converse) decision during orimmediately after the initial decision was made. According to anadditional example, this can result from a change which occurred in theobjective reality, which rendered a previously made decision no longerrelevant. Thus, a decision which may have been initially correct maybecome an incorrect decision due to a sudden change in the circumstanceswhich led to the initial decision in the first place.

Incorrect decisions which are made in human-machine interactionscenarios are often followed by reactions which result in undesirableoutcomes, which may have in some cases damaging and even devastatingconsequences. For example, when using a computerized device, such as apersonal computer, a tablet or a smart phone, it is not uncommon thatusers perform erroneous actions such as: pressing the send button andsending an email, an SMS or another type of an electronic message to thewrong recipient or with inadequate content; deleting a file or folder(e.g. shift deleting or deleting where no backup is available);selecting “do not save” option when editing or closing a file; selecting“save” option when editing or closing a file; confirming theinstallation of undesirable and possibly malicious software; closing abrowser window after rigorously searching for desired information orwebpage; confirming a connection to an unreliable data resource; etc.

Incorrect decisions are also made by humans operating industrialinstruments or machines. Such decisions may lead to incorrect actionswhich in some cases may result in injury or even death. For example,erroneous actions which are made by operators of various blades, saws,nail guns, heavy machinery or any other potentially hazardous machines.Incorrect decisions are also made while operating a vehicle (e.g.driving a land or marine vehicle or flying an aircraft), errors which inmany cases result in severe consequences.

GENERAL DESCRIPTION

As explained above, incorrect decisions or resulting incorrect actionscan include decisions and actions which may have been initially correctbut have become incorrect during or shortly after they were made.Consider for example, a person or animal surprisingly jumping in frontof a moving car. Once the driver sees the intruding person or animalintercepting the pathway of the car, a different decision (e.g. to hitthe breaks or swerve the car) is made by the driver rendering theinitial decision (to step on the gas pedal) to be an incorrect (orirrelevant) decision.

Additionally when operating a computerized device or when in contactwith a computerized device, it is not uncommon that while a user isprocessing in his mind data presented by the computerized device(whether or not the user is interacting or preparing to interact withthe computerized device) a change occurs to the presented data. Forexample, such a change may include an advertisement or a request to havesoftware installed, which is suddenly presented on the computerizeddevice display. The user is likely to respond to the new event e.g., bymoving his/her eyes towards the newly presented content, a responsewhich is often an instinctive reaction of the mind to the presenteddata. Often, immediately after the user reacts to the presented content(e.g. moves his pupils and/or eyes towards the content) he regrets thereaction and may also respond with a converse action (e.g. move hispupils and/or eyes away from newly presented content). Thus, suchundesirable reactions of the user can be considered an incorrect actionresulting from an incorrect decision.

Notably, this example demonstrates that an incorrect decision and aresulting action may occur also when the interaction between the userand the machine is not necessarily a physical interaction involving anaction exerted by the user which has a direct effect on the machine (inthe above example the interaction is the observation of the displaydevice which does not necessary affect the computer device).

Similarly, incorrect decisions or resulting incorrect actions caninclude the reactions of a person to machine performance, while theperson is not operating the machine but is only observing its operation(e.g. in order to verify that the machine is operating properly).

According to one example of the presently disclosed subject matter,differences can be detected between measured values (referred to hereinas “command related data” as explained below) characterizing thereaction of the user to the errors made by the machine, and measuredvalues characterizing the reaction of the user to the proper operationof the machine (“command related reference data”). Although the user isnot operating the machine, the user has certain expectations as to howthe machine is supposed to operate. The measured values characterizingthe reactions of the user to the actual machine operation can beindicative as to whether the expectations are met or not.

The response of the user to an unexpected operation of the machine isconsidered an incorrect action as compared to the user's response whenthe machine operates as expected. If it is determined, based on themeasured values, that the machine does not operate properly, thisinformation can be used in various ways. For example the machineoperations can be stopped automatically, amended, or improved in futuremachine operations.

Furthermore, according to the presently disclosed subject matter,incorrect decisions or resulting incorrect actions can include decisionsor actions which did not yield the desired or expected result. Forexample, a person pressing an icon on a computer may expect a certainresult from the icon press. The reaction of the user to the icon pressmay be different if the expected result indeed occurred as compared tothe reaction of the user in case it did not.

Examples of unexpected or undesired results to an icon press include thefollowing scenarios: the computer executes an unintended command, thecomputer responds too late, the computer does not respond at all, thecomputer partially responds or over responds (e.g., initiating too manyevents, playing an audio file too loud, presenting a too bright or toodetailed interface, etc). The undesirable or unexpected result rendersthe decision and/or action of the user incorrect.

Another example of this type of incorrect decision or resultingincorrect action can include the reaction of an operator to an incorrectmachine reaction to an issued command (for example when operating arobotic arm and failing to control the arm in a desired manner). When amachine reacts to a certain command differently than what is expected bythe operator (consciously or non-consciously), this discrepancy canprompt a human response which is considered erroneous as compared to theresponse when such discrepancy does not exist. As explained above,according to the presently disclosed subject matter, differences betweenmeasured values characterizing the user response can be indicative as towhether or not the machine operates in the desired or expected manner.

According to one aspect of the presently disclosed subject matter thereis provided a method of detection of an interaction-error; theinteraction-error is derived from an incorrect decision and is directedfor interacting with a machine, the method comprising:

during human-machine interaction, obtaining command related data valuescharacterizing any one of: an interacting-command; and aninteracting-action; comparing the command related data values withcommand related reference data values; and identifying aninteraction-error if a difference between the command related datavalues and the command related reference data values complies with apredefined criterion.

In addition to the above features, the method according to this aspectof the presently disclosed subject matter can optionally comprise one ormore of features (i) to (xvi) below, in any desired combination orpermutation.

(i). Wherein the interaction-error includes an erroneousinteracting-command instructing a body part, interacting withhuman-machine interacting device, to perform one or more erroneousinteracting-actions directed for controlling the machine for performinga desired machine operation.

(ii). Wherein the interaction-error includes an erroneousinteracting-action performed by one or more body parts, interacting withhuman-machine interacting device for controlling the machine forperforming a desired machine operation.

(iii). Wherein command related data includes one or more of thefollowing types of data: EEG (electroencephalography) measured at thebrain, EMG (electromyography) measured at a skeletal muscle of the atleast one body part; kinematics measured at the at least one body part;kinematics measured at the human-machine interaction device; force, orderivative thereof, applied on the human-machine interaction device;time to lift of the at least one body part from human-machineinteraction device; eye movement data; voice command data; facialmuscles data; autonomic nervous system reaction data (including but notlimited to the following parameters: cardiovascular, electrodermal,respiratory, which may be reflected but not limited to changes in heartrate, heart rate variability, blood pressure, blood pressurevariability, blood flow, efferent postganglionic muscle sympatheticnerve activity (microneurography), skin electrical conductance ortemperature, pupillary response (including differences between pupillaryresponses of the right and left eyes), eye blood vessels response andits derivatives, muscle tone etc).

(iv). Wherein the method further comprises using one or more sensorsconnected to a human-machine interacting device; the human-machineinteracting device is configured to enable interaction with the machine;the one or more sensors being configured to obtain command related datafrom the human-machine interacting device.

(v). Wherein the method further comprises using one or more sensorsconnected to one or more respective body parts used for interacting witha human-machine interacting device; the human-machine interacting deviceis configured to enable interaction with the machine; the one or moresensors being configured to obtain command related data from the one ormore body parts.

(vi). Wherein the method further comprises generating the commandrelated reference data.

(vii). Wherein command related reference data comprises one or more of:command related data statistics calculated based on command related dataobtained from a population of users; command related data statisticscalculated based on command related data obtained from a specific user;command related data explicitly indicated as being related to aninteraction-error; and command related data patterns.

(viii). Wherein the method further comprises: determining a firstcommand related data value at a first instant along an executedinteracting-command or interacting action; based on the first commandrelated data value, estimating an expected command related data value ata later instant along the executed interacting-command or interactingaction; measuring command related data value at the later instant; ifthe difference between the expected command related data value and themeasured command related data value complies with a predefinedcriterion, an interaction-error is determined.

(ix). Wherein the method further comprises measuring command relateddata with respect to one or more of: agonist muscle of the body part;and antagonist muscle of the body part.

(x). Wherein the interaction-command is a cognitive command intended toinitiate a machine operation without physically interacting with amachine or a human-machine interacting-device connected to the machine.

(xi). Wherein command related data includes data indicative of corticalor sub-cortical activity parameters.

(xii). Wherein the interacting-action is a voice command and wherein thecommand related reference data comprises data relating to activity ofspeech related muscles.

(xiii). Wherein the interacting-action is a voice command and whereinthe command related reference data comprises data relating to voicecommand related data patterns which are indicative of erroneous voicecommand; the method comprising: comparing between voice command relatedreference data patterns and (real-time) voice command related datapatterns.

(xiv). Wherein the interaction-error includes an erroneousinteracting-command instructing a bodily system, interacting withhuman-machine interacting device, to perform one or more erroneousinteracting-actions responsive to an observed machine operation, whereinthe interacting-actions do not have a direct effect on the operation ofthe controlled machine.

(xv). Wherein the interaction-error includes an erroneousinteracting-action performed by a bodily system, interacting withhuman-machine interacting device, responsive to an observed machineoperation, wherein the interacting-actions do not have a direct effecton the operation of the controlled machine.

(xvi). Wherein the interacting-action is initiated by the autonomicnervous system.

According to another aspect of the presently disclosed subject matterthere is provided a system for detection of an interaction-error, theinteraction-error being derived from an incorrect decision; the systembeing operatively connected to a controlled machine; the controlledmachine being operatively connected to a human-machine interactiondevice is configured to enable user interaction with the controlledmachine, the system comprising: an interaction-error detection unitoperatively connected to at least one computer processor configured to:

obtain command related data values characterizing any one of: aninteracting-command; and an interacting-action; compare the commandrelated data values with command related reference data values; andidentify an interaction-error if a difference between the commandrelated data values and the command related reference data valuescomplies with a predefined criterion.

According to another aspect of the presently disclosed subject matterthere is provided a machine comprising a system for detection of aninteraction-error; the interaction-error being derived from an incorrectdecision; the system being operatively connected; the machine beingoperatively connected to a human-machine interaction device isconfigured to enable user interaction with the machine, the systemcomprising: an interaction-error detection unit operatively connected toat least one computer processor configured to:

obtain command related data values characterizing any one of: aninteracting-command; and an interacting-action; compare the commandrelated data values with command related reference data values; andidentify an interaction-error if a difference between the commandrelated data values and the command related reference data valuescomplies with a predefined criterion.

According to another aspect of the presently disclosed subject matterthere is provided a non-transitory program storage device readable by acomputer, tangibly embodying a program of instructions executable by thecomputer to perform a method of detection of an interaction-error; theinteraction-error is derived from an incorrect decision and is directedfor interacting with a machine, the method comprising:

during human-machine interaction, obtaining command related data valuescharacterizing any one of: an interacting-command, and aninteracting-action; comparing the command related data values withcommand related reference data values; and identifying aninteraction-error if a difference between the command related datavalues and the command related reference data values complies with apredefined criterion.

According to another aspect of the presently disclosed subject matterthere is provided a computer program product implemented on anon-transitory computer useable medium having computer readable programcode embodied therein for detection of an interaction-error derived froman incorrect decision and directed for interacting with a machine, thecomputer program product comprising:

computer readable program code for causing the computer to obtain,during human-machine interaction, command related data valuescharacterizing any one of: an interacting-command; and aninteracting-action;

computer readable program code for causing the computer to compare thecommand related data values with command related reference data values;and

computer readable program code for causing the computer to identify aninteraction-error if a difference between the command related datavalues and the command related reference data values complies with apredefined criterion.

In addition, the system, the machine, the program storage device and thecomputer program product can optionally comprise one or more of features(i) to (xvi) listed above, mutatis mutandis, in any desired combinationor permutation.

According to another aspect of the presently disclosed subject matterthere is provided a method, system, program storage device and computerprogram product for use for monitoring behavioral and operationalpatterns of a user and determining changes in such patterns andevaluating user performance.

According to another aspect of the presently disclosed subject matterthere is provided a method, system, program storage device and computerprogram product for obtaining/calculating/determining command relatedreference data used in the detection of interaction-errors as disclosedherein.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to understand the invention and to see how it may be carriedout in practice, embodiments will now be described, by way ofnon-limiting example only, with reference to the accompanying drawings,in which:

FIG. 1 is a general functional block diagram of a system, according toexamples of the presently disclosed subject matter;

FIG. 2A is a functional block diagram of a system, according to examplesof the presently disclosed subject matter;

FIG. 2B is a functional block diagram of a system, according to examplesof the presently disclosed subject matter;

FIG. 3 is a functional block diagram of an interaction-error detectionunit, according to examples of the presently disclosed subject matter;

FIG. 4 is a flowchart showing operations performed, according toexamples of the presently disclosed subject matter;

FIG. 5 is a flowchart showing operations performed for obtaining commandrelated reference data, according to examples of the presently disclosedsubject matter;

FIG. 6 is a flowchart showing operations performed for obtaining commandrelated reference data, according to examples of the presently disclosedsubject matter; and

FIG. 7 is a flowchart showing operations performed for obtaining commandrelated reference data, according to examples of the presently disclosedsubject matter.

It will be appreciated that for simplicity and clarity of illustration,elements shown in the figures have not necessarily been drawn to scale.For example, the dimensions of some of the elements may be exaggeratedrelative to other elements for clarity. Further, where consideredappropriate, reference numerals may be repeated among the figures toindicate corresponding or analogous elements.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of the invention.However, it will be understood by those skilled in the art that thepresent invention may be practiced without these specific details. Inother instances, well-known features, structures, characteristics,stages, methods, procedures, modules, components and systems, have notbeen described in detail so as not to obscure the present invention.

System 110 and interaction-error detection unit 103, which are describedbelow in detail, are computerized devices. The terms “computerizeddevice”, “computer”, “controller”, “processing unit”, “computerprocessor” or any variation thereof should be expansively construed tocover any kind of electronic device with data processing capabilities,such as a hardware processor (e.g. digital signal processor (DSP),microcontroller, field programmable circuit (ASIC), etc) or a devicewhich comprises or is operatively connected to one or more hardwareprocessors including by way of non-limiting example, a personalcomputer, server, laptop computer, computing system, a communicationdevice and/or any combination thereof.

Unless specifically stated otherwise, as apparent from the followingdiscussions, it is appreciated that throughout the specificationdiscussions utilizing terms such as “comparing”, “identifying”,“determining”, “measuring” or the like, include action and/or processesof a computer that manipulate and/or transform data into other data,said data represented as physical quantities, e.g. such as electronicquantities, and/or said data representing the physical objects.

The operations in accordance with the teachings herein may be performedby a computer specially constructed for the desired purposes or by ageneral purpose computer specially configured for the desired purpose bya computer program stored in a non-transitory computer readable storagemedium. The presently disclosed subject matter further contemplates amachine-readable memory tangibly embodying a program of instructionsexecutable by the machine for executing the disclosed method.

The term “non-transitory” made with reference to computer memory is usedherein to exclude transitory, propagating signals, but to otherwiseinclude any volatile or non-volatile computer memory technology suitableto the application including, but not limited to: hard disk, opticaldisk, CD-ROMs, magnetic-optical disk, magnetic tape, flash memory,magnetic card, optical card, any other type of media suitable forstoring electronic instructions and capable of being coupled to a systembus, a combination of any of the above, etc.

As used herein, the phrase “for example,” “such as”, “for instance” andvariants thereof describe non-limiting embodiments of the presentlydisclosed subject matter. Reference in the specification to “one case”,“some cases”, “other cases” or variants thereof means that a particularfeature, structure or characteristic described in connection with theembodiment(s) is included in at least one embodiment of the presentlydisclosed subject matter. Thus the appearance of the phrase “one case”,“some cases”, “other cases” or variants thereof does not necessarilyrefer to the same embodiment(s).

It is appreciated that, unless specifically stated otherwise, certainfeatures of the presently disclosed subject matter, which are, forclarity, described in the context of separate embodiments, may also beprovided in combination in a single embodiment. Conversely, variousfeatures of the presently disclosed subject matter, which are, forbrevity, described in the context of a single embodiment, may also beprovided separately or in any suitable sub-combination.

In various examples in accordance with the presently disclosed subjectmatter, fewer, more and/or different stages than those shown in FIGS. 4,5, 6 and 7 may be executed. According to some examples of the presentlydisclosed subject matter one or more stages illustrated in FIGS. 4, 5, 6and 7 may be executed in a different order and/or one or more groups ofstages may be executed simultaneously. FIGS. 1, 2 a, 2 b and 3illustrate a general schematic of the system architecture in accordancewith examples of the presently disclosed subject matter. Functionalelements in FIGS. 1, 2 a, 2 b and 3 can be made up of any combination ofsoftware and hardware and/or firmware that performs the functions asdefined and explained herein. Functional elements in FIGS. 1, 2 a, 2 band 3 may be centralized in one location or dispersed over more than onelocation.

Functional elements illustrated in FIGS. 1, 2 a, 2 b and 3 describedbelow are operatively connected together in any way which is known inthe art including, but not limited to, one or more of: serialconnection, parallel connection, wired connection, and/or wirelessconnections.

It should be noted that the term “criterion” as used herein should beexpansively construed to include any compound criterion, including, forexample, several criteria and/or their logical combinations.

Bearing the above in mind, attention is drawn to FIG. 1 illustrating ageneral functional block diagram of a system, according to examples ofthe presently disclosed subject matter. In human-machine interactionscenarios, decisions made by a human often result in one or morecognitive commands intended to generate a specific machine operation.Commands generated in human-machine interaction scenarios (referred toherein as “interacting-commands”) include commands to various parts ofdifferent systems of the human body (bodily systems such as: nervoussystem, cardiovascular system, muscular system, etc.) which occur inresponse to interactions of a human with a machine.

The human-machine interaction can be either an interaction which has adirect effect on the machine operation or an interaction which does nothave a direct effect on the machine operation (e.g. human machineinteraction involving only the observation of the operation of amachine).

Interaction-commands include motor-commands instructing a body partinteracting with the machine to perform one or more actions (referred toherein as “interacting-actions”) that may or may not be directed forcontrolling the machine for performing a desired machine operation.Interacting-actions include conscious interacting-actions and nonconscious interacting-actions as well as discrete interacting-actionsand continuous interacting-actions.

Interacting-commands also include motor-commands which do not result ina physical reaction of a body part i.e. of the muscular system. Forexample, brain-computer interface devices (abbreviated BCI and alsoknown as “human-machine interface”) are human-machine interface deviceswhich provide a direct communication pathway between the brain of a userand an external device and enables a human to control the externaldevice by cognitive commands intended to initiate machine operationwithout physically interacting with the external device.

As explained above, incorrect decisions are often followed by reactionswhich may result in undesirable outcomes. It is suggested that aperson's mind is capable of identifying incorrect decisions, before theperson is consciously aware of the error. In response to identificationof an incorrect decision and/or a related erroneous command, the humanmind compensates for it (e.g. inhibits/cancels and/or replaces/correctsthe error) in attempt to reverse the decision and avoid the execution ofthe erroneous command or at least reduce its effect.

Detection of incorrect decision and/or actions, cancellation and/orcorrection attempts are reflected by a mental process characterized by acascade of events; this begins with increased activity in regionsassociated with action/thought control (e.g. electrophysiologicalindices such as the error-related negativity, evoking from the medialfrontal cortex or theta band oscillations in the right inferior frontalcortex), and/or the rise of competing events (e.g., a change inlateralized readiness potential). Cancellation and/or correction arefurther reflected by reduced activity in regions associated with theunwanted event and/or increased activity in regions associated with thenew event. Reactions to an incorrect decision and/or actions and/or thecompensation or correction process also involve bodily systems reactionssuch as reactions of the autonomic nervous system (e.g. detectablechanges to pupil dilation).

As a result of such compensation, measurable parameters (referred toherein as “command related data”), which characterize an erroneousinteracting-command and/or a resulting erroneous interacting-action aredifferent than those of a correct-command and/or a resulting correctinteracting-action.

According to the presently disclosed subject matter, one or more typesof command related data can be measured before (e.g. during a responseselection process), during and/or immediately after aninteracting-command is performed. Based on the measured data it can bedetermined whether an interacting-command is an erroneous-command (e.g.an interacting-command driven by an incorrect decision) or anon-erroneous command (e.g. correct, driven by a correct decision).

The term “erroneous interacting-action” as used herein refers to aninteracting-action initiated by an erroneous interacting command and theterm “correct interacting-action” refers to an interacting-actioninitiated by a non-erroneous interacting-command. In the followingdiscussion the term “interaction-error” is used as a general term toinclude any one of: incorrect decision, erroneous-interacting-commandand erroneous interacting-action.

As described below in more detail, in response to detection of aninteraction-error, various preventative actions can be carried out inorder to abort, correct or otherwise react to any resulting machineoperation.

Reverting to FIG. 1, interaction-error detection system 110 depicted inFIG. 1 comprises interaction-error detection unit 103. According to someexamples, interaction-error detection unit 103 is operatively connectedto human-machine interaction device 101.

Human-machine interaction device 101 is operatively connected to acontrolled machine 109 and is configured to enable user interaction withthe machine. Human-machine interaction device 101 can be configured asan integral part of the controlled machine 109 or alternatively it canbe externally connected to the machine 109. Similarly, system 110 can beconfigured as an integral part of controlled machine 109 oralternatively it can be externally connected to the machine 109.

The term “controlled machine” as used herein should be broadly construedto include any type of machine or system powered by any type of powersource (e.g. mechanical, chemical, electrical, thermal, etc.) includingboth computerized machines which are controlled by a computer system, acomputer processor, a controller (including computer systems per se) aswell as manually controlled machines. Optionally, an electronic commandunit can be added to a manually controlled machine for enabling toelectronically control the machine and interfacing withinteraction-error detection system 110.

Human-machine interaction device 101 may enable direct interaction,where there is direct contact between a human body part and ahuman-machine interaction device 101 (e.g. by pressing a mouse button orpulling a lever) as well as indirect interaction where direct contactbetween a human body part and a human-machine interaction device 101 isnot required (e.g. interacting with a gesture based touch-lessinterface, a voice command interface or BCI device).

Depending on the specific type of machine, human-machine interactiondevice 101 can include any suitable type of interaction deviceconfigured to input data and/or control a respective machine, including,but not limited to, any one of the following devices:

computer keyboard, computer mouse, touch-screen, touch-pad, mechanicalor electronic lever, mechanical or electronic button, mechanical orelectronic switch, mechanical or electronic knob, mechanical orelectronic trigger, mechanical or electronic paddle, gesture basedtouch-less computer interface operated by any type of body part (e.g.based on a camera and a computer screen), eye movement computeruser-interface, voice command computer user-interface, BCI, etc.

As mentioned above, according to the presently disclosed subject matter,human machine interaction also includes interactions which do notnecessarily have a direct effect on the operation of the machine (e.g.when the interaction includes only the observation of the user on themachine performance). Thus, according to the presently disclosed subjectmatter, a human-machine interaction device can further include a displaydevice (e.g. a computer device screen) which is used by the user forobserving the output of the machine operations. Furthermore, accordingto some examples, controlled machine 109 itself is also thehuman-machine interaction device 101. For example, this is the case whenan operator is observing the operation of a machine and the onlyinteraction of the human with the machine is through the observation.The command related data pertaining to the reactions of the operator tothe observed operation of the machine can be monitored and used fordetecting interacting-errors.

Interaction-error detection unit 103 is configured to use commandrelated data to determine whether a given interacting-command is anerroneous-command or not. Additionally, interaction-error detection unit103 can be configured to use command related data to determine whether agiven interacting-action, exerted with respect to a human-machineinteracting device in response to an interacting-command, is anerroneous interacting-action or not. The functionality ofinteraction-error detection unit 103 depends, inter alia, on the type ofthe command related data which is analyzed.

According to the presently disclosed subject matter, command relateddata measured in relation to an interacting body part can be measured inboth agonist muscle and antagonist muscle. In general, antagonistmuscles exhibit an opposite effect to that of a respective agonist.Measuring command related data at antagonist muscles allows detection oferroneous interacting-actions even after the action of the agonistmuscle is terminated, thus, potentially providing longer time foridentifying erroneous-commands and/or erroneous-actions. Furthermore, byusing command related data obtained from both agonist and antagonistmuscles, a more accurate indication as to whether a command and/oraction is erroneous or not, may be obtained.

Command related data includes for example any one of the followingparameters and/or their derivatives or any combination thereof:

-   -   Electromyography (EMG) data which provides information related        to electrical activity produced by skeletal muscles        participating in an interacting-action. The electric activity        measured at a skeletal muscle which is involved in an        interacting-action is different when erroneous        interacting-action is performed as compared to non-erroneous        (e.g. correct) interacting-actions.

In general, EMG values, measured at an agonist muscle, decrease when theinteracting-action is a result of an erroneous-command as compared to aninteracting-action which results from a correct-command. EMG values,measured at an antagonist muscle, may also exhibit decreased values or,alternatively, under certain conditions, exhibit the opposite effect andthus show an increase in an interacting-action resulting from anerroneous-command.

-   -   Kinematics measured in relation to the body part participating        in the action. Kinematics includes for example velocity of the        body part when performing an interacting-action, acceleration of        the body part when performing an interacting-action,        deceleration when performing an interacting-action, etc. The        kinematics measured when erroneous interacting-action is        performed are different to those measured when a non-erroneous        (e.g. correct) interacting-action is performed.

An interacting-action performed by an agonist muscle of a body part canbe divided into three phases. An acceleration phase during the initialstages of the action, a constant velocity phase, and a decelerationphase during the final stage of the action. Command related data can bemeasured during any one of these phases, including for exampleacceleration measured during the first phase, constant velocity duringthe intermediate phase and deceleration of the agonist muscle during thefinal phase. Likewise, antagonist muscles of a body part performing aninteracting-action exhibit similar phases occurring in opposite order.Thus, similar parameters can be measured with respect to an antagonistmuscle.

For example, acceleration, measured at an agonist muscle, decreasesfaster when the interacting-action is a result of an erroneous-commandas compared to an interacting-action which results from a non-erroneouscommand. Acceleration values, measured at an antagonist muscle, may showreduced activity in some cases and exhibit increased activity in othercases.

-   -   Kinematics measured in relation to the human-machine interacting        device, responsive to an interacting body part. Kinematics        includes for example velocity of the interacting device when        responding to an interacting-action, acceleration of the        interacting device when responding to an interacting-action,        deceleration of the interacting device when responding to an        interacting-action, etc. The kinematics measured when erroneous        interacting-action is performed are different to those measured        when an interacting-action resulting from a non-erroneous        command is performed.

According to the presently disclosed subject matter the derivative ofacceleration/deceleration in relation to time (also known as “jerk” or“jolt”) can be used as an indication of an erroneous interacting-action.According to one example, the time period of an interacting-action canbe divided into multiple bins, each representing a fraction of the timeperiod. The acceleration/deceleration in each bin can be measured andrepresented by a respective value (e.g. the averageacceleration/deceleration value or maximal acceleration/decelerationvalue). The jerk can be determined as the rate of change betweenacceleration/deceleration values in different bins.

-   -   Force (or any derivative thereof such as pressure) applied by        the body part (on an interacting-device) when performing the        action. In general, the force applied when erroneous        interacting-action is performed is different than the force        applied when a non-erroneous interacting-action is performed.        The applied force can be measured on the interacting human body        part which is applying the force or on the human-machine        interacting device on which the force is being applied. Similar        to the acceleration and jerk mentioned above, the rate of change        in the applied force can be calculated and used as an indication        of an erroneous interacting-action. Generally the applied force,        measured at an agonist muscle, decreases when the        interacting-action is a result of an erroneous-command as        compared to an interacting-action which results from a        non-erroneous (e.g. correct) command. Applied force measured at        an antagonist muscle, shows the same effect in some cases, and        exhibits the opposite effect in other cases.    -   Time to lift—a period of time before the body part is lifted        from the human-machine interaction device on which the        interacting-action is applied or period of time before the        pressure applied on the human-machine interaction device is        alleviated or period of time before the electric circle closed        by the interacting action, opens again. For example, a time to        lift period can be measured from the moment of initial contact        of a body part with the human-machine interacting device until        the body part is lifted from the human-machine interacting        device. In general lifting time shortens when the        interacting-action is a result of an erroneous-command as        compared to an interacting-action which results from a        non-erroneous command.

Furthermore, in some cases the interacting body part is not separatedfrom the human-machine interacting device between one interacting-actionto the next. This is so, for example, where a Swype keyboard is usedwhich allows dragging a finger around a keyboard (or a touch screen)from letter to letter, without lifting the finger up and disconnectingthe finger from the keyboard, and tapping a different key. In such caseslifting time can be measured from the initial contact with a certain key(or any other displayed object) until the time the finger isdisconnected from the key and swiped sideways to a different key.

Command related data further includes additional parameters which can bemeasured directly in the brain and are similarly affected as a result ofan erroneous-command, including for example:

-   -   Electroencephalography (EEG) is the recording of electrical        activity along the scalp. The EEG data measured during an        erroneous-command is different than the EEG data measured while        a correct-command takes place. One EEG component data which has        been shown to differ in these two different scenarios is        error-related negativity (ERN). It has been shown that ERN        values generally increase during brain activity related to an        erroneous-command as compared to brain activity related to a        correct-command.

In cases where the error involves a complex movement involving severallimbs, the ERN value which is proportional to the motor representationof the erring limb can be used to specify which part of the movement isincorrect.

Another EEG activity which has been shown to differ in these twodifferent scenarios (erroneous interacting and correct interacting) ismotor neurons spike rate (MNSR). A decrease in the MNSR can beindicative of an attempt to prevent the error while an increase in theMNSR can be indicative of an attempt to correct the error. A combinationof the ERN with MNSR reduction or other indices of motor responseinhibition such as EEG correlates of response inhibition including N200or theta band oscillations may yield a better indication of an errorthan each of these indices alone. A decrease in motor activity such asMNSR, EMG, or muscle activation following an attempt to preventerroneous interacting-action is sometimes specific to the motoractivation associated with the erring limb. The specificity of theerror-related motor decrease may serve to indicate which part of themovement is incorrect.

Additional examples of parameters which may exhibit deferential valueswhen measured during an erroneous-command as compared to a non-erroneouscommand include for example, diffusion magnetic resonance imaging andmagnetoencephalography (MEG).

Different types of command related data allow detection ofinteraction-errors at different stages of the reaction. Cerebralactivity detection methods (e.g. EEG and MEG) can be used for detectingan erroneous-command at an early stage before (e.g. during a responseselection process occurring in the brain) or immediately after aninteracting-command is generated. EMG data, which is measured at theskeletal muscles, at an early stage of the muscular response to amotor-command, allows early detection of an erroneous interacting-actionresulting from an erroneous-command. Kinematics measured at the bodypart executing the reaction allows detection of an erroneousinteracting-action at a later stage than EMG data. Command related datawhich is measured with respect to the human-machine interaction device(e.g. such as kinematics, “time to lift” and/or force exerted on thehuman-machine interaction device) allows detection of an erroneousinteracting-action at later stages of a response to aninteracting-command.

Command related data which is measured with respect to autonomic nervoussystem reactions to interaction-errors is usually measured at laterstages of the motor command, which usually (unless the response iscontinuous) occur after the muscle activation related to theinteraction-error has already been terminated. However, such autonomicnervous system reactions are usually faster than a deliberatecompensatory action (e.g. corrective key press).

The specific autonomic nervous system response to an interaction-errorusually precedes the development of an aware emotional response such asfrustration. Current models of autonomic nervous system reactiondescribe a central nervous system coordination of autonomic activity(i.e., central-autonomic network). This results in a high degree ofspecificity in autonomic nervous system organization, allowing preciseand fast adaptation to changes in both internal and external states.Parameters which may exhibit deferential values when measured close toan erroneous-command as compared to a non-erroneous command usuallyreflect a shift from parasympathetic control to sympathetic control overthe nervous system. This can be reflected by, but is not limited to,larger skin conductance response, and greater heart-rate deceleration.Also, pupil size measurements show a more prominent dilatory effectfollowing an error. Autonomic nervous system response to erroneouscommands may also differ from autonomic nervous system response to acorrect command or from autonomic resting state in the rate of change inautonomic nervous system response, wherein the rate of change is largerin response to interaction error.

System 110 can further comprise one or more computer processors 105.According to one example, interaction-error detection unit 103 cancomprise computer memory being operatively coupled to computer processor105 configured to execute instructions generated by interaction-errordetection unit 103 and control its operation. According to anotherexample, interaction-error detection unit 103 and computer processor 105can be configured as a single processing device (e.g. configured as anapplication specific integrated circuit (ASIC)). Computer processor 105can be a processor dedicated for executing the operations ofinteraction-error detection unit 103 or it can be a general computerprocessor e.g. operatively connected also to controlled machine 109configured to execute its respective operations.

As mentioned above, interaction-error detection unit 103 can beconfigured, responsive to detection of an interaction-error, to executeone or more actions in order to confirm or abort any machine operation(including any operation of a computerized device or system) resultingfrom an erroneous interacting-action, or otherwise acknowledge or alertthat an interaction-error has occurred. Alternatively, if theinteraction-error is a result of a machine operation, unit 103 can beconfigured, responsive to detection of an interaction-error, to executeone or more actions in order to confirm or abort any machine operation(including any operation of a computerized device or system) resultingfrom the erroneous interacting-action, or otherwise acknowledge or alertthat an interaction-error has occurred. Actions can include for exampleany one or more of the following:

Activating an alert for alerting the user or a third party, delaying therequested machine operation, requesting confirmation from the user toproceed with the machine operation (e.g. prompting a dialog boxindicating the detected error and requesting confirmation from theuser), canceling the execution of the machine operation, automaticallyexecuting an alternative command (e.g. where only two machine operationsare available-executing the alternative option), recording the error,etc.

Proceeding to FIG. 2a and FIG. 2b , each show a functional block diagramof a system, according to examples of the presently disclosed subjectmatter. FIGS. 2a and 2b illustrates examples of interaction-errordetection system 110 operatively connected to (or otherwise integratedas part of) controlled system 109.

According to an example of the presently disclosed subject matter,command related data can be obtained with the help of one or moresensors 201 of one or more types. Depending on the type of commandrelated data which is used, one or more suitable sensors, configured forretrieving the sought after command related data, are used. Sensor 201is operatively connected to unit 103 and is configured to feed unit 103with the acquired sensing data.

In some examples sensor 201 can be connected to human-machineinteraction device 101 (as illustrated in FIG. 2a ) in order to retrievecommand related data which is generated by the direct interaction of theuser with human-machine interaction device 101. This is so, for example,when command related data is any one of the following parameters: force(or any derivative thereof) applied on the human-machine interactiondevice, velocity of the human-machine interaction device, accelerationor deceleration of the human-machine interaction device, time to lift,etc.

For example, when a user is using a computer mouse and/or a keyboard(i.e. the computer mouse and/or keyboard being the human-machineinteraction device) and the measured command related data is related tothe force applied by the finger when pressing the mouse button and/or akey in the keyboard, sensor 201 can be a force sensor (e.g. aforce-sensing resistor or a piezoelectric sensor) installed underneaththe mouse button or underneath the keyboard keys.

If the measured command related data which is used for identifyinginteraction-errors is related to the acceleration and/or deceleration ofthe mouse button (or keyboard key) when it is being pressed, sensor 201can be an accelerometer (e.g. piezoelectric accelerometer orsemiconductor accelerometer material) configured for measuring theacceleration and/or deceleration of the mouse button (or different keysin the keyboard). Similar to the force sensor, the accelerometer can beinstalled underneath the mouse button (or the keyboard keys).

In other examples sensor 201 may not be connected to human-machineinteraction device 101 (as illustrated in FIG. 2b ). This is so, forexample, when command related data is measured directly from the bodypart of the user interacting with human-machine interaction device 101.For instance when command related data is related to the accelerationand/or deceleration of the body part which is interacting withhuman-machine interaction device 101, sensor 201 is an accelerometerattached to the body part (e.g. an accelerometer attached to hand orfoot controlling human-machine interaction device 101).

In an additional example, sensor 201 may also not be directly connectedto human-machine interaction device 101 where measured command relateddata is related to EMG data measured by an electromyograph attached to abody part of the user. An electromyograph is an instrument that detectsthe electrical potential generated by muscle cells when these cells areelectrically or neurologically activated. The electrodes (sensors) arecommonly connected to a monitored body part in one of two ways. Thefirst is with EMG sensors, which are connected to the surface of theskin, and the second is with intramuscular EMG, where a needle electrodeor a needle containing two fine-wire electrodes is inserted through theskin into the muscle tissue. The sensed electric activity is transmittedto unit 103 where it is used for determining whether the action iserroneous or not. EMG sensors can be connected to either or both agonistand antagonist muscle.

Sensor 201 may not be directly connected to human-machine interactiondevice 101 where measured command related data is based on a cerebralactivity detection method such as EEG.

In another example, sensor 201 may also not be directly connected tohuman-machine interaction device 101 where measured command related datais measured directly from the body part of the user and the body partdoes not necessarily directly affect the operation of the machine. Forexample, where reactions of a bodily system are monitored while the useris observing the operation of the machine and the monitored values areused for detecting interacting-errors. According to a specific example,this is so where an operator is observing output displayed on a computerdisplay device. The sensor device can be a camera monitoring eyemovement and/or changes in pupil diameter or eye blood vessels, thechanges providing the relevant command related data. Likewise, thesensor device can be a watch or bracelet strapped around the wrist ofthe user and used for measuring skin electrical conductance.

Communicating between sensor device 201 and unit 103 can be facilitatedusing a wired communication device or wireless communication device.Sensor device 201 can take various forms designed for obtaining thedesired command related data from an interacting body part. For example,sensor device 201 can be designed as a strap worn around an arm or afoot of a user. The strap can contain an appropriate sensor (e.g.electromyograph electrode or accelerometer) which can be positionedconveniently for monitoring the interacting body part. The strap canfurther contain a wireless communication device configured to transmitthe obtained command related data to unit 103. In a similar mannersensor device 201 can be designed as a glove worn on a hand or sock wornon a foot, equipped with wireless communication technology forcommunicating with unit 103 and transmitting the acquired commandrelated data.

As mentioned above with reference to FIG. 1, in some examplesinteraction-error detection unit 103 is connected to human-machineinteraction device. However, this is not always necessary. For example,in case command related data is obtained by a sensor connected to auser's interacting body part, interaction-error detection unit 103 canbe connected to machine controlled unit 107 for controlling machineoperation and may not be connected to human-machine interaction device101.

A special sensor unit may not always be necessary for the operation ofinteraction-error detection unit 103. This is so, for example, whencommand related data is based on “time to lift”. While in some cases, asensor is required in order to determine whether there is contactbetween human-machine interaction device 101 and a body part of theuser, in other cases this is not necessary. For example, the time lengthof a key press (i.e. time to lift) on a keyboard can be measured usingApplication Programming Interface (API) functions provided by theoperating system of a computer. The API functions are executed using acomputer processor configured for executing operating systeminstructions.

Optionally, a combination of different types of sensors (e.g. includingboth sensors connected to human-machine interaction device 101 andothers not connected to human-machine interaction device 101) eachmeasuring a different type of command related data, can be usedtogether.

Controlled machine 109 and/or system 110 can further comprise or beotherwise operatively connected to computer data storage 120 (possiblyincluding both transitory and non-transitory computer memory)operatively connected to one or more computer processors, configured toexecute computer programs stored thereon. According to some examples ofthe presently disclosed subject matter, computer data repository 120 canstore, inert cilia, computer programs configured with instructions forcontrolling human-machine interaction device 101 and/or computerprograms configured for controlling interaction-error detection unit103.

Data repository 120 can further comprise various applications includingfor example, one or more operating systems 119 (e.g. Microsoft Windows,Linux, Unix, Mac OS), as well as various other applications 117 such as:

one or more file systems; one or more Internet browsers (e.g. InternetExplorer, Mozzila Firefox, Google Chrome, etc.); one or more personalinformation managers applications (e.g. Microsoft Outlook, GoogleCalendar, etc.); one or word processing applications (e.g. MicrosoftWord Processor, OpenOffice, etc.); one or more media players; and soforth.

According to some examples of the presently disclosed subject matter,interaction-error detection unit 103 can be operatively connected to oneor more operating systems and/or one or more other applications runningon controlled machine 109 and be configured to monitor and control theoperation of the operating system and/or applications. Interaction-errordetection unit 103 can be configured, responsive to detection of aninteraction-error, to delay or abort the execution of a requestedmachine operation and/or generate a warning indicating that an erroneousinteracting-action has being detected (e.g. by displaying a dialog boxon a display device connected to system 110).

According to other examples of the presently disclosed subject matter,interaction-error detection unit 103 can be directly connected to amachine controlled unit 107 (e.g. a circuitry and/or a controller) incontrolled machine 109 for allowing interaction-error detection unit 103to control the execution of commands generated by human-machineinteraction device 101.

According to further examples of the presently disclosed subject matter,where controlled machine 109 is a manually operated machine, anauxiliary computerized device can be installed in controlled machine 109to enable to electronically control the execution of operationsinitiated by human-machine interaction device 101. For example, whenusing a nail gun, an electronic unit mounted on the gun can beconfigured to electronically control the operation of the nail gun.Responsive to an indication of a detected interaction-error receivedfrom interaction-error detection unit 103, the electronic unit can beconfigured to temporarily lock a safety catch.

FIG. 3 is a functional block diagram illustrating an example ofinteraction-error detection unit 103, in accordance with an example ofthe presently disclosed subject matter. According to the illustratedexample, interaction-error detection unit 103 can comprise: commandrelated data acquisition module 301 interaction-error determinationmodule 305 and preventive action initiating module 307.Interaction-error detection unit 103 can further comprise or beotherwise operatively accessible to a computer data-repository 313configured for storing command related data.

Command related data acquisition module 301 is configured to obtaincommand related data recorded during interaction of a user with amonitored human-machine interacting device. The data can be obtainedfrom one or more sources. As explained above, command related data canbe obtained from one or more sensors of various types which areconnected to interaction-error detection unit 103 and/or from additionalsources such as an operating system using operating system ApplicationProgramming Interface (API) functions.

Command related data acquisition module 301 can be further configured toprocess the raw data received from various sensors in order to extractdesired data and/or to transform the data to a desired format(performing operations such as noise filtering, artifact rejection,etc.).

Interaction-error detection module 305 is configured to compare dataobtained by command related data acquisition module 301 with commandrelated reference data values.

To this end, data-repository 313 can comprise for example, thresholdvalues for determining whether a given measured command related datavalue is indicative of an interaction-error. Interaction-error detectionmodule 305 can be configured to compare the measured command relateddata values with the stored thresholds and determine if the comparisoncomplies with one or more predefined criteria. Based on the results ofthis comparison, it is determined whether the measured command relateddata is indicative of an erroneous interacting-action.

For example, assuming “time-to-lift” parameter is used, data-repository313 can store information with respect to a predefined time rangecharacterizing a correct interacting-action (e.g. mouse button press).If the difference between the measured time to lift and the time-to-liftthreshold is greater than a predefined value, an erroneousinteracting-action is identified.

Preventative action initiating module 307 is configured to initiate oneor more actions in response to detection of an erroneous-command.Optionally, the initiated action may be specifically adapted to eachspecific user. Where human-machine interaction device 101 is configuredto execute an instruction responsive to an interaction-error,preventative actions can include instructions directed to human-machineinteraction device 101 and/or to a controller and/or to a computerprogram controlling human-machine interaction device 101 for delaying oraborting the execution of the erroneous-command. If machine operationhas already been executed by the time an interaction-error is detected,preventative actions can include instructions directed to human-machineinteraction device 101 and/or to a controller and/or to a computerprogram controlling human-machine interaction device 101 for undoing, orreplacing the outcome of the erroneous-command.

Where a device other than human-machine interaction device 101 itself isconfigured to execute a machine operation responsive to theinteraction-error, preventative actions can include instructionsdirected to machine controlled unit 107 (e.g. a controller and/or to acomputer program) configured to control the execution of the machineoperation, for delaying or aborting the execution of the machineoperation. If machine operation has already been executed by the time aninteraction-error is detected, preventative actions can include forexample instructions directed for undoing, or replacing the outcome ofthe error.

For example, assuming human-machine interaction device 101 is a keyboardor a mouse connected to a computer device, preventative actioninitiating module 307 can be operatively connected to an operatingsystem and/or to an application which is being monitored forinteraction-errors. More specifically, assuming for example that Outlookprogram is being monitored by system 110 for interaction-errors,preventative action initiating module 307 can be operatively connectedto an operating system or directly to Outlook. In response to anidentified interaction-error, preventative action initiating module 307can be configured to delay the execution of the machine operation (e.g.command to send a message or command to delete a message) and prompt adialog box requesting the user for confirmation before the machineoperation is executed. If a message has already been sent, preventativeaction initiating module 307 can be configured for example to abort ordelete the sent message.

Optionally, interaction-error detection unit 103 can further comprisecommand related data collector 311 configured to obtain command relateddata and store the obtained data in data-repository 313. Examples ofmethods of determining command related reference data for detection ofinteraction-errors are described below with reference to FIGS. 5 to 7.

FIG. 4 is a flowchart of operations performed, in accordance with anexample of the presently disclosed subject matter. Operations describedwith reference to FIG. 4 can be executed for example by system 110 withthe help of interaction-error detection unit 103.

While a user is interacting with a human-machine interaction device,command related data is being collected. At block 403 command relateddata values are obtained from a monitored human-machine interactiondevice and/or monitored body part. As explained above, collection ofcommand related data can be accomplished with the help of one or moresensors.

The command related data values obtained in real-time during interactionof a user with a human-machine interaction device is compared withcommand related reference data (block 405). Command related referencedata can be presented as command related threshold values. As mentionedabove, command related reference data values can be stored in adesignated data-repository.

Based on the comparison between the measured command related data valuesand the command related reference data, it is determined whether theissued interacting-command and/or interacting-action represent aninteraction-error (block 407).

If the difference between the measured command-related data values andthe command related reference data values does not comply with somepredefined criterion, the interacting-action is executed withoutinterference (413). Otherwise, if the difference between the measuredcommands related data values and the command related reference datavalues complies with the predefined criterion, the interacting-commandand/or interacting-action is determined as an interaction-error (block409). As explained above, responsive to detection of aninteraction-error, preventative actions can be executed (block 411).

In order to allow detection of interaction-errors and generate anappropriate response, the process of determination of aninteraction-error is performed before, during and/or immediately afterthe interacting-command (and/or the resulting interacting-action) isperformed to allow sufficient time for stopping or aborting a respectivemachine operation, if desired.

Optionally, the response time of the human-machine interaction device toa direct interacting-command or a resulting interacting-action can bemade longer to allow sufficient time for determination of whether aninteracting-command and/or interacting-action is erroneous before therespective machine operation is executed. For example, assuminghuman-machine interaction device 101 is a computer mouse connected to acomputer device (being controlled machine 109), the response time of thecomputer device to the mouse input can be set to be 150 millisecondslong in order to ensure sufficient time for detection of an erroneousinteracting-command and/or action. The response time is maintained fastenough to avoid significant slowdown and degradation of the userexperience.

Similarly, the force (or pressure) and/or duration of force (orpressure) required to initiate a response from a human-machineinteraction device can be increased in order to enable the collection ofsufficient data for determination of whether an interacting-commandand/or interacting-action is erroneous. Increasing the required force orprolonging its duration would compel a user to exert additional force orincrease duration of force exertion when interacting with ahuman-machine interaction device and thereby provide more data tointeraction-error detection unit 103.

Furthermore, any change made to the response time (or the requiredforce) of a human-machine interaction device can optionally be adaptedto a specific user. For example, normal user-specific command relateddata values can be calculated based on command related data collectedduring the interaction of a user with a given human-machine interactiondevice over time. Once the normal user-specific command related data isavailable, it can be used for determining user specific performancecharacteristics such as an average user-interaction velocity e.g. theaverage length of the time period a user maintains his hand or finger incontact with a human-machine interacting device during aninteracting-action. Adaptation of the response time of a human-machineinteraction device can be based on the calculated user-interactionvelocity. A shorter prolongation of the response time is required wherethe user exhibits quicker responses, as compared to users who exhibitslower responses.

Identification of interaction-errors based on command related data canbe used while various body parts are interacting with a human-machineinteraction device. For example, in addition to commands issued byhands, fingers and feet, the same principles described herein can beused for determining interaction-errors issued by eye or head movement.

Today various systems which use eye (or pupil) movement human-computerinteraction are available and other systems are being developed. Oneexample is Samsung's Galaxy IV Smartphone which is equipped with an eyescroll feature allowing a user to scroll through a web page using onlyeye movement.

Human-machine interaction device 101 can be configured as an eyemovement computer interface, including for example a camera operativelyconnected to appropriate eye movement analysis software.

Movement of the eyes is enabled and controlled by six muscles connectingthe eye balls to the eye orbit. Electric activity (EMG) derived by eyemovement can be detected using for example, two pairs of contactelectrodes placed on the skin around the eye which allows identifyingtwo separate movement components—horizontal and vertical.

Electric activity generated by eye (and/or head) movement as well as eyeand/or head) movement kinematics measured for example through a camerarecording head and eye movement and calculating kinematic parameters(including for example, velocity, acceleration, deceleration of eyemovement, etc.) can be monitored and used for identification ofinteraction-errors.

For example, when eye movement tracking is used for human-computerinteraction, saccade eye movements (which are quick, simultaneousmovements of both eyes in the same direction) which follow an erroneouseye movement interacting command, are characterized by different commandrelated data than those which follow a correct eye movement interactingcommand.

In general, agonist muscle eye movement of an erroneousinteracting-action is weaker, slower, and is terminated quicker ascompared to similar eye movement of a non-erroneous interacting-action.An antagonist muscle eye movement of an erroneous interacting-action isgenerally stronger and faster, than a similar eye movement of anon-erroneous interacting-action. Accordingly, command related datacharacterizing saccade eye movement can be used for identifyingerroneous interacting-actions (in this case eye interacting movement).

Other muscles located around the eye which are in charge on the movementof various facial muscles (e.g. orbicularis oculi which closes the eyelids or corrugator supercilii which is related to the eyebrow movement)can also be monitored in a similar fashion.

In a similar manner, when eye tracking is used for human-machine (e.g.computer) interaction, changes in pupil diameter or eye blood vesselswhich follow an interacting-error are characterized by different commandrelated data than those which follow a correct interacting commandand/or action or those occurring at resting state. For example, suchcommand related data includes the rate of change in autonomic nervoussystem response where, the rate of change (e.g. rate of change of pupildilation, rate of changes in electric skin conductance, rate of changein eye-blood vessels diameter and/or eye-blood vessels color and/oreye-blood vessels blood flow, etc.) is larger in response to anerroneous command as compared to a correct command.

Another type of human-computer interaction method is by voice commands.Today many computer systems can be controlled by human voice command.Speech related muscles which are located in the larynx (e.g. phonatorymuscles) enable the production of voice. Command related data (such asEMG data) with respect to these muscles can be measured and used fordetermining whether a given voice interacting command is erroneous ornot.

Thus, according to the presently disclosed subject matter, when voicecommands are used for interacting with a computerized device, voicecommand related data such as EMG data collected from the voicegenerating muscles, or voice patterns as explained herein below, can beused for determining whether a given voice interacting-command is anerroneous interacting-command or not. According to this example,human-machine interaction device 101 can be configured as a voice-basedcomputer interface including for example a speaker operatively connectedto an appropriate voice analysis processing unit.

As mentioned above, various methods can be implemented for determiningcommand related reference data values which enable to identifyinteraction-errors. FIG. 5 is a flowchart showing operations performedfor obtaining command related reference data, according to examples ofthe presently disclosed subject matter. Operations described withreference to FIG. 5 can be executed by unit 103 (e.g. with the help ofcommand related data collector 311 and command related data statisticsmodule 315).

According to one example, human-machine interaction of one or more userswith a given type of human-machine interaction-device is monitored andcommand related data parameters are recorded (block 501). Commandrelated data statistics (e.g. average and standard deviation) of therecorded command related data can be calculated (block 503). Thecalculated command related data statistics can serve as command relatedreference data used for identifying interaction-errors. Calculatedcommand related data statistics can comprise both reference dataindicative of interaction-errors as well as reference data indicative ofcorrect interacting-command and/or correct interacting-action. Thecalculated command related data statistics can serve as command relatedreference data used for identifying interaction-errors.

Command related data can be recorded for a certain period of time oruntil a certain desired amount of data is recoded before it is used forcalculating statistics. Command related data can be continuouslyrecorded during human-machine interaction and used for enhancing thecommand related data statistics.

Command related data can be recorded according to various recordingpolicies. For example, during the execution of specified tasks orapplications, during a training period, when initializing the system,every few days, in the course of the last couple of days, couple ofhours, and so on.

Command related data statistics can be calculated for various specificsetups such as: a specific user, a specific group of users, specifictypes of human-machines interacting-devices, specific types of machines,specific types of applications and so forth.

Command related data can be recorded and stored during the interactionof a single user with a given human-machine interaction-device. Thiswould allow calculating user-specific command related data statisticsproviding a personalized (user-specific) characterization of the user'sperformance. Additionally or alternatively, command related data can berecorded during the interaction of many different users all interactingwith the same type of human-machine interaction device and/or the samemachine and/or the same computer program, thus enabling to obtain normalcommand related reference data representing the distribution of commandrelated data values in a monitored population of users. Normal commandrelated reference data can be used for calculating normal commandrelated data statistics, including for example the average and standarddeviation of the command related data values collected from thepopulation of users.

Both user-specific and population-specific command related referencedata can be calculated by interaction-error detection unit 103 (e.g.with the help of command related data statistics module 315). Inaddition, interaction-error detection unit 103 or machine 109 connectedthereto can be configured to send recorded command related data to acentral computer server where command related reference data of allusers is consolidated and stored and the command related data statisticscan be calculated.

The obtained command related data statistics can be provided (e.g. sentfrom the computer server where they were calculated) tointeraction-error detection unit 103. During real-time interaction of auser with a monitored machine 109 real-time command related data isobtained (block 505) and the calculated statistics can be used foridentifying erroneous-command and/or erroneous interacting-actions(block 507). For example, command related data values measured duringreal-time interaction can be determined as indicative of aninteraction-error based on predefined deviation from the calculatedcommand related data statistics.

Command related reference data can be enhanced by additional data,including for example, command related data collected while an actualinteraction-error is performed and corrected. A correction of aninteracting-action which is made by the user provides an explicitindication that the interaction-error was erroneous. The command relateddata which is recorded during such a corroborated error can be used forobtaining additional information indicative of specific command relateddata values which characterize an erroneous interacting-action.Likewise, command related data recorded during a correctinteracting-action can be used for obtaining additional informationindicative of command related data values which characterize a correctinteracting-action.

Corroboration of command related reference data can be obtained forexample by prompting a user after an interacting-action is performed,asking the user whether the performed action was erroneous or not and/orby monitoring spontaneous user correction of interacting-actions and/ormanual or voice gestures indicating an error.

FIG. 6 is a flowchart showing operations performed for obtaining commandrelated reference data, according to examples of the presently disclosedsubject matter. Operations described with reference to FIG. 6 can beexecuted by unit 103 (e.g. with the help of command error data collector311).

Similar to the previous example, the interaction with a givenhuman-machine interaction-device is monitored and command related dataparameters are recorded (block 601). During human-interaction with themachine, indication is provided when an interaction-error occurs (block603). For example, during a training session the user can be instructedto actively indicate whenever an interaction-error is made.Alternatively, correction of an issued interacting-action can serve asan indication that the initial interacting-action was erroneous. Thespecific command related data characterizing a correctedinteracting-action can be recorded and stored in data-repository 313 andused as reference for identifying interaction-errors in real-timeoperation of system 110. Command related reference data recorded inrelation to interaction-errors can be used for determining thresholdvalues indicative of interaction-errors (block 605).

During real-time interaction of a user with a monitored machine 109command related data is determined (block 607) and compared to thethreshold values for identifying interaction-errors (block 609).

Similar to the previous example, the interaction with a givenhuman-machine interaction device is monitored and command related dataparameters are recorded (block 601). During human-interaction with themachine, indication is provided when an erroneous-command and/orerroneous action occurs (block 603). For example, during a trainingsession involving specific stimulus-response rules (e.g., stimulus Ashould be followed by user-response B, stimulus C should be followed byuser-response D and so forth), a stimulus driven response that failed tofollow the required response rule is indicated as an error.Alternatively or additionally, during a training session with or withoutstimulus-response rules, the user can be instructed to actively indicatewhenever an interaction-error is made. Further, alternatively oradditionally, during a training session involving specificstimulus-response rules, correction (replacement of a response thatfailed to follow the stimulus-response rule by an appropriate responseor deletion of the response) of an issued interacting-action can serveas an indication that the initial interacting-action was erroneous.According to another example, in the absence of a stimulus-responserule, a correction by means of fast switch between responses (e.g.,while using a Smartphone, pressing a function key and then pressinganother key before or immediately after the function signified by thefirst pressed key is fully activated) or deletion of a response, may bemade. Similar to the specific command related data indicating aninteraction-error, the specific command related data characterizing acorrected interacting-action can be recorded and stored indata-repository 313 and used as reference for identifyinginteraction-errors in real-time operation of system 110.

FIG. 7 is a flowchart showing operations performed for obtaining commandrelated reference data, according to examples of the presently disclosedsubject matter. Operations described with reference to FIG. 7 can beexecuted by unit 103 (e.g. with the help of command error data collector311).

As before, the interaction with a given human-machine interaction-deviceis monitored and command related data parameters are recorded (block701). Command related data values measured during the initial stages ofan erroneous interaction-command and/or erroneous interaction-action maybe close to the values measured during a correct erroneousinteraction-command and/or a correct interaction-action. Thus, usingcommand related data measured at the initial stages of the interactionmay not be sufficient for identifying an interaction-error. However, asthe interaction-command or and/or interaction-action progresses, thedifferences between command related data characterizing aninteraction-error, and command related data characterizing anon-erroneous (e.g. correct) interaction, become more distinct.

Thus, according to the presently disclosed subject matter, the recordedcommand related data can be analyzed to determine patterns (referred toherein as “patterns” or “command related data patterns”) characterizingthe command related data (block 703). Command related data patternsrepresent variations in command related data values along theprogression of a respective interaction-command and/or aninteracting-action. Command related data patterns of command relateddata of non-erroneous (e.g. correct) interaction-command and/or anon-erroneous (e.g. correct) interacting-action are different to thoseof incorrect interaction-command and/or an incorrect interacting-action.Thus, patterns can serve as command related reference data.

For example, if command related data relates to acceleration measured atan interacting-human body part, a respective pattern indicates theacceleration values along the progression of the interacting-commandand/or interacting-action. The acceleration of interaction-error at theinitial stages of the interaction may be similar to those of a correctinteraction, however, as the interaction progress difference inacceleration between an interaction-error and a correct interactionbecome more distinct.

According to a different example, if command related data pertains to anautonomic nervous system reaction measured at the pupil, a respectivepattern indicates the pupil dilation values along the progression of theinteracting-command and/or interacting-action. The pupil dilationaccompanying interaction-error at the initial stages of the interactionmay be similar to those of a correct interaction, however, as theinteraction progresses difference in pupil dilation, between ainteraction-error and a correct interaction, become more distinct.

Furthermore, according to the presently disclosed subject matter,command related data may further include voice patterns of voicecommands. As explained above, error compensation, in response to anincorrect decision, may also affect voice commands. Differences betweenvoice patterns of an erroneous voice interacting-command and correctvoice interacting-commands may be based on variations in the intensity,pitch, tone of voice and/or distance between spoken syllables within aword/spoken gesture or between words/spoken gestures (including completeinterruption). Alternatively or additionally, a person's attempt toreverse an incorrect voice command can be inferred from spoken gesturesgenerated very close to and/or immediately after the incorrect voicecommand.

For example, an erroneous voice interacting-command driven by anincorrect decision, may be characterized by a decreased gap betweencertain spoken syllables and/or words and/or vocal gestures within thecommand as compared to a similar gap in a correct voiceinteracting-command. Likewise, the intonation of syllables and/or wordsspoken as part of an erroneous voice interacting-command may becharacterized by a decreased pitch as compared to syllables and/or wordsfollowing a correct voice-interacting-command which is driven by acorrect decision.

On the other hand, the intonation of syllables and/or words following anerroneous voice interacting-command may be characterized by an elevatedpitch as compared to syllables and/or words following a correctvoice-interacting-command which is driven by a correct decision.

Similarly, the voice intensity (amplitude) while uttering syllablesand/or words following an erroneous voice interacting-command may begreater than the voice intensity (amplitude) of syllables and/or wordsfollowing a correct voice-interacting-command driven by a correctdecision. Alternatively, spoken syllables and/or words and/or vocalgestures comprising an erroneous voice command may be abruptly stoppedbefore completion.

Furthermore, according to the presently disclosed subject matter,command related data indicating incorrect interaction-command and/or anincorrect interacting-action may further include sub-movements. It isassumed that at least in some scenarios, instead of applying continuousmotor control to a movement (of a body part), the brain controls actionsby initiating discrete sub-movements. These sub-movements allow thebrain to correct errors in a movement as they unfold. Sub-movements canbe observed in the movement velocity profile across time as a series ofbell-shaped functions, each representing a sub-movement (see, Chang, Y.H., Chen, M., Gowda, S., Overduin, S., Carmena, J. M., & Tomlin, C.(2013, December). Low-rank representation of neural activity anddetection of submovements. In Decision and Control (CDC), 2013 IEEE 52ndAnnual Conference on (pp. 2544-2549). IEEE, which is incorporated hereinby reference in its entirety). Sub-movements can also be observed in EMGand EEG motor cortical activity profiles.

As is well known to any person who is skilled in the art, there areseveral ways to divide a movement into a primary movement (the completemovement comprising the sub-movements) and any sub-movement therein. Onesuch way is calculating the third derivative of the position (jerk) andpinpointing zero crossings observed from movement initiation to movementtermination. In an offline analysis, the total number of zero crossingscan be divided by two in order to conclude the total number of movements(velocity peaks) in a given movement route. According to the presentlydisclosed subject matter, information indicative of sub-movements can beutilized (by system 110) for determining whether a respective commandand/or action are erroneous or not.

Furthermore, according to the presently disclosed subject matter,command related data may further include activation of facial muscles.Differences between activation of facial muscles associated with anincorrect interacting-command and/or an incorrect interacting-action andcorrect interacting-commands and/or an incorrect interacting-action, maybe based on activation of a single facial muscle or a group of musclesat a specific facial location (e.g., the eyes, the eyebrows, the frownline, the nose, the nasolabial folds, and the mouth) or based oncombination of facial muscles activation at several facial locations.Variations in the activity of facial muscles indicating an incorrectinteracting-command and/or an incorrect interacting-action may includeincreased activity at some muscles, reduced activity in other muscles ora combination of both.

During real-time interaction of a user with a monitored machine 109command related data is determined (block 705) as well as the respectivecommand related data patterns of the command related data (block 707).The determined patterns of real-time command related data are comparedto command related patterns indicative of interaction-error fordetermining whether the command related data is indicative of aninteraction-error occurring in real-time (block 709).

In addition, an interacting-command or interacting-action can beanalyzed to determine whether it develops according to the expectedpattern. The relative change in command related data parameters along anexecuted interacting-command or interacting action can be determined.Based on the known relative change in command related data, commandrelated data values in a given instant along an interacting-command orinteracting action can be predicted, based on command related datavalues measured in earlier instances along the same interacting-commandor interacting action. A comparison between the predicted values and theactual values can serve to identify interaction-errors.

The following operations can be executed by unit 103 for detectinginteraction-errors. During the execution of an interaction-command orinteracting-action, a first command related data value at a firstinstant can be determined (measured). Based on the first command relateddata value, an expected command related data value at a later instantalong the executed interacting-command or interacting action isestimated. The actual command related data value is measured when thelater instant arrives. The measured command related data value andexpected command related data value are compared. If the differencebetween the expected command related data value and the measured commandrelated data value complies with a predefined criterion (e.g. is greaterby a predefined value), an interaction-error is determined.

For example, an interacting-action can be analyzed to determine whetherthe respective muscle movement develops according to the expectedpattern. The expected intensity (amplitude) or the intensity rate of themeasured command related data parameters (e.g., EMG amplitude, movementvelocity, force, pressure) at a given instance can be estimated based onthe intensity measured in the preceding instant. If the motor reactionis interfered with (e.g. by a compensation process attempting to cancelor correct the action) along its way, the actual measured intensity (orrespective rate) in a given instant would fail to meet the expectedvalue based on the previous instant.

According to a different example, an interacting-action can be analyzedto determine whether the respective pupil dilation develops according tothe expected pattern. The expected intensity (amplitude or size), or thedilation rate (i.e. the measured command related data) at a giveninstance, can be estimated based on the intensity measured in thepreceding instant. According to this example, if pupil dilation isresulted by an error detection process, the actual measured intensity(or respective rate) in a given instant would be different than thevalue expected based on the previous instant.

According to another example, an increase in acceleration, which isrecorded in an agonist muscle during a non-erroneous interacting-action,is expected to be accompanied by an increase in acceleration rate.However, if a motor interacting-action is an erroneousinteracting-action, and hence interfered with by a compensation process,the acceleration development would no longer be accompanied by increasedrate of acceleration or be accompanied by reduced increase inacceleration rate.

Information indicative of relative change in command related dataparameters along an executed interacting-command or interacting actioncan be obtained for example by recording command related data during theinteraction of a plurality of users, analyzing the command related data,identifying respective patterns and determining the expected relativechange in command related data values along the interacting command orinteracting-action.

According to further aspects of the presently disclosed subject matterin addition to the identification of interaction errors during theinteraction of a user with a machine, command related reference data canbe used for monitoring behavioral and operational patterns of a user anddetermining changes in such patterns and evaluating user performance.

As mentioned above, command related data values can be recorded duringinteraction of a user with a human-machine interaction device and usedfor calculating user-specific command related data statistics. Differenttypes of command related data statistics can be calculated, each typerepresenting a respective comparative command related reference datameasured in specific circumstances and/or time.

As further mentioned above, command related data statistics representingthe performance of a population of users (population specific) can beused as references for evaluating the performance of a specific user.Command related data collected during the interaction of a specific userwith a given human-machine interaction device can be compared with thepopulation command related data statistics to determine whether theuser's reactions deviate from normal reactions in the tested population.This approach can assist in evaluating the performance of a user duringinteraction with a given machine. For example, reactions of drivers canbe tested to help determine their driving skills. In an additionalexample, reactions of a user can be compared to normal command relateddata values for the purpose of identifying medical and/or cognitivedeficiencies.

Furthermore, user-specific command related data statistics can becalculated based on command related data collected during theinteraction of a user with a given human-machine interaction device overtime. Once user-specific command related data statistics are determined,these can be compared with command related data of the same usercollected during another period of time, or real-time interaction withthe human-machine interaction device. This comparison can assist inidentifying deviation of user performance from his/her normalperformance. For example, command related data of a given user can becollected during different times during the day (e.g. morning, noon,afternoon, night) and compared with normal user-specific command relateddata statistics and used for determining whether the user's performancevaries during different hours of the day.

Similarly, user's command related data recorded during various specificconditions can be compared to user-specific and/or population-specificcommand related data statistics in order to determine the performance ofthe user during these conditions. Such specific conditions can includefor example, high/low temperature conditions, performance understressful conditions, etc.

Command related data statistics can be collected and classified intospecific categories each category representing command related datarecorded under certain conditions. Categorization of command relateddata enables to analyze user performance under various specificconditions, and can further be used to create more relevant commandrelated reference data.

User command related data can be monitored and compared to user-specificand/or population-specific command related data statistics foridentifying improvement or deterioration in user performance. Forexample, the effect of a medication on the performance of a user can bedetermined by comparing command related data before and aftercommencement of a medication treatment.

Furthermore, additional conditions can be related to specific useractivity which is being carried out concurrently with usermachine-interaction. For example, a computerized device such as acellular device can be configured to identify various types of useractivities such as, walking, running, driving, speaking on the phone,etc. As explained above, the performance of the user during theseconditions can be determined as well.

Similarly, the performance (e.g. cognitive performance) of a user orusers while using different applications can also be determined in orderto determine whether there is a difference in the user performance whileinteracting with different applications.

In order to evaluate user performance, interaction-error detection unit103 can be configured to determine whether there is a difference in theoccurrence of errors in various conditions as compared to predefinedcommand related data statistics. Alternatively or additionally, in orderto evaluate user performance, interaction-error detection unit 103 canbe configured to identify deviations in the command related data duringhuman-machine interaction based on comparison to command related datastatistics, including data which is not necessarily indicative ofinteraction-errors.

In addition, interaction-error detection unit 103 can be configured tostore in a data repository (313) data indicating the statisticaldistribution of interaction-errors made by a certain user whileperforming specific user activities. Interaction-error detection unit103 can be further configured to receive information (e.g. from themonitored machine) indicative of a certain user activity which is beingperformed by the user (e.g. driving, walking, etc.) and use the storedstatistical data for estimating a probability of occurrence of aninteraction-error. Optionally, if the estimated probability is greaterthan a certain threshold, interaction-error detection unit 103 can beconfigured to warn the user prior to issuance of an interaction-alert,and thereby help to avoid the interaction-error before it occurs.

The following section includes a number of examples of systemsimplementing the principles of the presently disclosed subject matter.Any one of the following machines and devices can be configured with aninteraction-error detection system 110 comprising an interaction-errordetection unit 103 configured to detect interaction-errors made by anoperator of the machine.

-   -   Heavy machinery such as trucks, tractors, excavators, buggers,        etc. Interaction-error detection unit 103 can be operatively        connected to the control interface and control circuitry        configured for controlling an implement and to block operations        initiated by erroneous interacting commands and/or erroneous        interacting-actions of the operator while interacting with the        implement control interface.    -   Head-mounted displays (such as Google glass and helmet mounted        display) configured with one or more human-machine interaction        devices such as: a touchpad or buttons, voice command interface,        gesture recognition interface, eye tracking interface, etc.    -   Powered exoskeleton configured as a mobile machine consisting of        a wearable outer framework with a powered system that delivers        at least part of the energy for limb movement. Erroneous-command        detection system 110 can be operatively connected to a control        unit of the exoskeleton and configured to block or correct limb        movement of the exoskeleton which is initiated by an erroneous        interacting command and/or erroneous interacting-action.        Alternatively, erroneous-command detection system 110 can update        an adaptive decoding algorithm supporting the exoskeleton        operation, so fewer errors will be made in future operations of        the exoskeleton.    -   Neuroprosthetics—Bionic limbs can comprise or be operatively        connected to erroneous-command detection system 110 configured        to block or correct limb movement of the limb which is initiated        by an erroneous interacting command and/or erroneous        interacting-action. Alternatively, erroneous-command detection        system 110 can update an adaptive decoding algorithm supporting        the bionic limb operation, so fewer errors will be made in        future operations of the bionic limb.    -   Robotic surgical system (e.g. da Vinci Surgical System) can        comprise or be operatively connected to erroneous-command        detection system 110 configured to block or correct movements of        the surgical arms which are initiated by an erroneous        interacting command and/or erroneous interacting-action.        Alternatively, erroneous-command detection system 110 can update        an adaptive decoding algorithm supporting the robotic surgical        system operation, so fewer errors will be made in future        operations of the robotic surgical system.    -   Biofeedback (or Neurofeedback) is a technique aimed at learning        to control physiological and brain functions through immediate        performance feedback. Humans lack conscious access to self        performance monitoring mechanisms (i.e., brain mechanisms        monitoring the execution of decisions and actions and alerting        unexpected outcomes), governing interaction-error detection        and/or compensation. However, these mechanisms are constantly        active, affecting an interaction error in various degrees, e.g.        from slowing down an erroneous action to having it stopped        completely. Performance monitoring mechanisms may be also        responsible for the initiation of swift and accurate correction        of an interaction error. Bringing the activity of performance        monitoring to a person's attention can serve as performance        feedback.

Feedback is expected to reinforce the performance monitoring mechanismsby providing information indicative of what is an efficient performancemonitoring mechanism, and how is it different from inefficientperformance monitoring mechanisms. Efficiency of performance monitoringmechanisms can be determined based on various command related dataparameters. For example, the speed of detecting an erroneous action(e.g. the time elapsing from the initial action to the time an erroneousaction has been detected) and/or the magnitude of the difference betweenthe measured command related data parameters when an interaction erroris detected, as compared to the value which is detected during a correctinteraction.

According to Biofeedback/Neurofeedback principles, repeating thisprocedure many times in an environment that induces many errors has thepotential of teaching a person to consciously control and/or improvehis/her performance monitoring mechanisms. Alternatively oradditionally, the performance monitoring mechanisms may be directlyaffected (unconsciously) by this procedure.

Feedback may include for instance, alerting the occurrence of an error,correcting the error, or preventing the error altogether. Prevention ofan error can be facilitated by stopping the action of the user (e.g. byexerting a counter force as exemplified below) and/or by stopping orchanging the result of the action (e.g. changing the data which isdisplayed responsive to the action).

Feedback may include a counter-reaction generated for preventing theerror from occurring. For example, exerting a counter forcecontradicting the force exerted by the erroneous action. In a morespecific example this may be the case in a task involving moving eitherof two joysticks (or levers) where an operator is required to choose ata given moment which of the joysticks should be moved. The generatedfeedback may include exerting a counter force on a joystick capable ofstopping an erroneous attempt of the operator to move the wrongjoystick.

According to some examples, the generated feedback can be proportionalto the measured command related data parameters of the errordetection/compensation process. For example, the time from the initialmovement of a body part interacting with a human-machine interactingdevice to the time where an erroneous action is initially detected canbe measured, and, based on the elapsed time, a respective feedback canbe generated. According to some examples, the shorter the elapsed time,the stronger the feedback provided to the operator. This enables toprovide to the operator an indication of the efficiency of theoperator's performance monitoring.

Furthermore, as mentioned above, it is assumed that at least in somescenarios, during execution of a movement, the movement is divided bythe brain into discrete sub-movements. These sub-movements may beindicative of an incorrect or inaccurate execution of the desiredmovement. A person initiating the movement is usually unaware of boththe error in the movement or any attempts of the brain to prevent orcorrect the error. According to the presently disclosed subject matter,Biofeedback/Neurofeedback can include feedback indicating the occurrenceof corrective sub-movements. Making a person aware of correctivesub-movements through feedback as they unfold (feedback may beproportional to the efficiency of the corrective measures), mayreinforce a person's learning as how to consciously control his/herperformance monitoring mechanisms. Alternatively or additionally, theperformance monitoring mechanisms may be directly affected(unconsciously) by the procedure.

Thus, the presently disclosed subject matter further contemplates abiofeedback/Neurofeedback device aimed at training a person'sperformance monitoring mechanisms, comprising or otherwise operativelyconnected to interaction-error detection system 110 and configured toprovide biofeedback (e.g. alert, reverse, block, slowdown or correctmovements initiated by an erroneous interacting command and/or erroneousinteracting-action). For example, if a person is using a joystick tocontrol a cursor, upon error detection the biofeedback device can beconfigured, responsive to receiving an indication of an interactionerror, to momentarily freeze the joystick or exert counter-force on thejoystick to prevent the erring operator/user from moving the joystickany further. The biofeedback device can be further configured torepeatedly provide biofeedback to the person in order to reinforcesuccessful error detection and compensation. According to some examples,preventive action initiation module 307 in interaction error detectionunit 103 can be configured for providing biofeedback.

According to the presently disclosed subject matter, the proposedbiofeedback mechanism and method can be harnessed for assisting in therehabilitation of people suffering, for example, from brain damage,dementia, mental illness, personality disorders and/or motordisabilities. For example, it can be used to train a person'sperformance monitoring mechanisms to efficiently detect and preventmental and/or behavioral irregularities. In people suffering from motordisabilities due to inability to learn from what is known to thoseskilled in the art as “sensory prediction errors”, the proposedBiofeedback may be used to train motor learning through an alternativemechanism, known to those skilled in the art as learning from rewardprediction errors.

An example of a Biofeedback procedure aimed at training motor learningfrom reward prediction errors is described herein. A user is tracking amoving target on a computer screen by using a joystick to control acursor. Occasionally the joystick exerts a counter force or reducesresistance to the user's own force, interfering with joystick/cursormanipulation by the user. In order to continue with the plannedmovement, the user must initiate compensatory maneuvers such asinitiating sub-movement or reducing his own force exerted on thejoystick. At the beginning of training, joystick counter force orreduced resistances are of large magnitude, so the user is aware of boththe changes to joystick counterforce or reduced joystick resistance andhis resulting own compensatory reactions. However, during training,joystick counterforce and/or reduced resistance gradually become moresubtle. As a result, a user's compensatory reactions also become moresubtle, so the user is no longer aware of both joystick counterforceand/or reduced resistance and resulting compensatory reactions,especially if the user's own compensatory reactions are not efficientenough to affect the ongoing movement. Here, a feedback is given to auser whenever interaction-error detection system 110 identifiesactivation of user's performance monitoring. The feedback is expected toreinforce the activation of a user's performance monitoring mechanisms.

As is well known in the art, increased reaction time of person to astimulus may possibly be related to development of various chronicdiseases and higher risk of mortality. Thus, the time it takes a personto detect or compensate for an error, may be indicative of certainaspects of the person's health status. According to the presentlydisclosed subject matter, interaction-error detection system 110 can beconfigured to compute the time from the occurrence of stimuli promptingthe erroneous action or occurrence of environmental changes rendering anaction incorrect, or the time from erroneous action initiation, to thetime of error detection or compensation or any error detection-relatedactions. Alternatively, interaction-error detection system 110 can beconfigured to compute the time from error detection or compensation toany error-detection related actions. Collected data can then be comparedagainst population norms or the person's own previously collected data,and used for detection of possible health problems.

A steering wheel or any other type of vehicle control and maneuveringdevice can comprise or be operatively connected to erroneous-commanddetection system 110 configured to override steering and/or controlcommands which are initiated by erroneous interacting command and/orerroneous interacting-action.

Standard car pedals can comprise or be operatively connected toerroneous-command detection system 110 configured to override aresulting system operation (e.g. fuel delivery to the engine orbreaking) generated by the pedal in case an erroneous interactingcommand and/or erroneous interacting-action is identified. The pedal canbe equipped with an appropriate sensor such as a strain gauge locatedunderneath the pedal. The examples described hereinabove are provided inorder to illustrate possible implementations of the disclosed subjectmatter and should not be construed as limiting in any way. Anyadditional systems configured according to similar principles areconsidered within the scope of the presently disclosed subject matter.

It is to be understood that the presently disclosed subject matter isnot limited in its application to the details set forth in thedescription contained herein or illustrated in the drawings. Thepresently disclosed subject matter is capable of other embodiments andof being practiced and carried out in various ways. Hence, it is to beunderstood that the phraseology and terminology employed herein are forthe purpose of description and should not be regarded as limiting. Assuch, those skilled in the art will appreciate that the conception uponwhich this disclosure is based may readily be utilized as a basis fordesigning other structures, methods, and systems for carrying out theseveral purposes of the present presently disclosed subject matter.

While certain features of the invention have been illustrated anddescribed herein, many modifications, substitutions, changes, andequivalents will now occur to those of ordinary skill in the art. It is,therefore, to be understood that the appended claims are intended tocover all such modifications and changes as fall within the true spiritof the invention.

While various embodiments have been shown and described, it will beunderstood that there is no intent to limit the invention by suchdisclosure, but rather, it is intended to cover all modifications andalternate constructions falling within the scope of the invention, asdefined in the appended claims.

The invention claimed is:
 1. A method of detecting an interaction-errorduring an interaction of a subject with a machine; the methodcomprising: during interaction of the subject with the machine, using atleast one sensor for measuring command related data values; whereincommand related data values are derived from and characterize amotor-command generated by the subject, during the interaction of thesubject with the machine, for instructing a body part other than asubject's brain interacting with the machine and/or derived from andcharacterize an interacting-action, which results from the motor-commandand is performed by the body part other than the subject's brain for thepurpose of interacting with the machine; the at least one sensor beingoperatively connected to at least one of: i. the body part other thanthe subject's brain, which is used for interacting with the machine; ii.the subject's brain; and iii. the machine; using a computer processorfor: comparing the command related data values being measured withpre-stored command related reference data values, and determining adifference between them; based on a determined difference between thecommand related data values being measured and the pre-stored commandrelated reference data values, identifying that the command related datavalues, characterizing the motor-command generated by the subject duringthe interaction of the subject with the controlled machine, areindicative of an interaction-error, under a condition that thedetermined difference complies with a predefined value; and initiatingexecution of one or more operations in response to the identifiedinteraction-error in order to abort or correct the interaction-error. 2.The method according to claim 1, wherein the interaction-error includesany one of: an erroneous motor-command instructing a body part,interacting with a human-machine interacting device operativelyconnected to the machine, to perform one or more erroneousinteracting-actions; the interacting-action is directed for controllingthe machine for performing a desired machine operation; and an erroneousinteracting-action performed by one or more body parts, interacting withthe human-machine interacting device, for controlling the machine forperforming a desired machine operation.
 3. The method according to claim1, wherein the measuring of command related data values includes one ormore of: measuring electromyography (EMG) at a muscle of the at leastone body part; measuring kinematics at the at least one body part;measuring at a human-machine interaction device operatively connected tothe machine, one or more of: kinematics resulting from aninteracting-action; force, or derivative thereof, applied on thehuman-machine interaction device resulting from an interacting-action;time to lift of the at least one body part from human-machineinteraction device; measuring autonomic nervous system reaction datarelated to motor activity; and measuring an increase and/or decrease inactivity rate of motor neurons.
 4. The method according to claim 1further comprising: measuring command related data values at thesubject's body including any one of: agonist muscle of the body part;antagonist muscle of the body part; and facial muscles.
 5. The methodaccording to claim 1, wherein the interacting-action is a voice commandand wherein the command related data values comprises data relating tochanges in activity of muscles related to speech.
 6. The methodaccording to claim 1, wherein the one or more operations initiatedresponsive to detection of the interaction-error include an operationaffecting the machine and/or the subject.
 7. The method according toclaim 1, wherein the interacting-action is a voice command derived fromchanges in activity of muscles related to speech, and wherein thecommand related data values include characteristics of the voice data(derivative).
 8. The method according to claim 1, wherein the commandrelated data values include patterns representing variation in commandrelated data values measured along the progression of the motor-commandor the interacting-action.
 9. The method according to claim 1 furthercomprises: measuring a first command related data value at a firstinstant along an executed interacting-command or interacting-action;based on the first command related data value, estimating an expectedcommand related data value at a later instant along the executedinteracting-command or interacting action; the expected command relateddata value serving as the command related reference data values;measuring a second command related data value at the later instant;executing the determining that an interaction-error occurred during theinteraction of the subject with the machine, if the difference betweenthe expected command related data value and the second command relateddata value complies with the certain criterion.
 10. A system fordetection of an interaction-error during an interaction of a subjectwith a controlled machine; the system being operatively connected to thecontrolled machine and to a human-machine interaction device configuredto enable user interaction with the controlled machine, the systemcomprising at least one sensor operatively connected to a computerprocessor; the at least one sensor is configured to measure commandrelated data values during interaction of the subject with thecontrolled machine; wherein command related data values are derived fromand characterize a motor-command generated by the subject forinstructing a body part other than a subject's brain interacting withthe controlled machine and/or derived from and characterize aninteracting-action, which results from the motor-command and isperformed by the body part other than the subject's brain for thepurpose of interacting with the controlled machine; the at least onesensor is operatively connected to at least one of: i. the body partother than the subject's brain, which is used for interacting with themachine; ii. the subject's brain; and iii. the controlled machine; thecomputer processor is configured to: compare the command related datavalues being measured with pre-stored command related reference datavalues, and determine a difference between them; based on a determineddifference between the command related data values being measured andthe pre-stored command related reference data values, identify that thecommand related data values, characterizing the motor-command generatedby the subject during the interaction of the subject with the controlledmachine, are indicative of an interaction-error, under a condition thatthe determined difference complies with a predefined value; and initiateexecuting one or more operations in response to the identifiedinteraction-error in order to abort or correct the interaction-error.11. The system according to claim 10 further comprises a human-machineinteraction device operatively connected to the controlled machine;wherein the human-machine interaction device is configured, responsiveto a human-interaction, to cause the controlled machine to execute arespective machine operation, and wherein the interaction-error includesany one of: an erroneous motor-command instructing a body part,interacting with the human-machine interacting device, to perform one ormore erroneous interacting-actions directed for controlling the machinefor performing a machine operation; and an erroneous interacting-actionperformed by one or more body parts, interacting with a human-machineinteracting device, for controlling the machine for performing a desiredmachine operation.
 12. The system according to claim 10, wherein theinteracting-action is a voice command and wherein the command relateddata values comprise data relating to changes in activity of musclesrelated to speech.
 13. The system according to claim 10, wherein the oneor more operations initiated responsive to detection of theinteraction-error include an operation affecting the machine and/or thesubject.
 14. The system according to claim 10 is further configured to:measure a first command related data value at a first instant along anexecuted interacting-command or interacting-action; based on the firstcommand related data value, estimate an expected command related datavalue at a later instant along the executed interacting-command orinteracting action; the expected command related data values serving asthe command related data reference values; measure a second commandrelated data value at the later instant; execute the determination as towhether an interaction-error occurred during the interaction of thesubject with the machine, based on whether the difference between theexpected command related data value and the second command related datavalue complies with the certain criterion.
 15. A non-transitory programstorage device readable by a computer, tangibly embodying a program ofinstructions executable by the computer to perform a method of detectingan interaction-error during an interaction of a subject with a machine;the method comprising: obtaining command related data values, measuredduring interaction of the subject with the machine; wherein commandrelated data values are derived from and characterize a motor-commandgenerated by the subject for instructing a body part other than asubject's brain interacting with the machine and/or derived from andcharacterize an interacting-action, which results from the motor-commandand is performed by the body part other than the subject's brain for thepurpose of interacting with the machine; comparing the command relateddata values being measured with pre-stored command related referencedata values, and determining a difference between them; based on adetermined difference between the command related data values and thecommand related reference data values, identifying that the commandrelated data values, characterizing the motor-command generated by thesubject during the interaction of the subject with the controlledmachine, are indicative of an interaction-error, under a condition thatthe determined difference complies with a predefined value; andexecuting one or more operations in response to the identifiedinteraction-error in order to abort or correct the interaction-error.16. A computer implemented method of improving performance of a subjectduring human-machine interaction, the method comprising: providing asubject with an error inducing environment that requires human-machineinteraction; during interaction of the subject with the machine,detecting interaction-errors, comprising: using at least one sensor formeasuring command related data values; wherein command related datavalues are derived from and characterize a motor-command generated bythe subject for instructing a body part other than a subject's braininteracting with the machine and/or derived from and characterize aninteracting-action, which results from the motor-command and isperformed by the body part other than the subject's brain for thepurpose of interacting with the machine; the at least one sensor beingoperatively connected to at least one of: i. the body part other thanthe subject's brain, which is used for interacting with the machine; ii.the subject's brain; and iii. the machine; using a computer processorfor: comparing the command related data values being measured withpre-stored command related reference data values, and determining adifference between them; based on a determined difference between thecommand related data values being measured and the command relatedreference data values, identifying that the command related data values,characterizing the motor-command generated by the subject during theinteraction of the subject with the controlled machine, are indicativeof an interaction-error, under a condition that the determineddifference complies with a predefined value; and responsive toidentification of the interaction-error, providing feedback to thesubject indicative of the interaction-error, thereby reinforcing theperformance of the subject during human-machine interaction.
 17. Themethod according to claim 16, wherein the providing feedback comprisesgenerating a counter reaction at a human-machine interaction device usedby the subject for interacting with the machine.
 18. The methodaccording to claim 16, wherein the feedback is proportional to themeasured command related data.
 19. A system for improving performance ofa subject during interaction with a machine; the system comprising atleast one sensor operatively connected to a computer processor; the atleast one sensor is configured to measure command related data values,during interaction of the subject with the machine, in an error inducingenvironment that requires human-machine interaction; wherein commandrelated data values are derived from and characterize a motor-commandgenerated by the subject for instructing a body part other than asubject's brain interacting with the machine and/or derived from andcharacterize an interacting-action, which results from the motor-commandand is performed by the body part other than the subject's brain for thepurpose of interacting with the machine; providing a subject with a taskrequiring human-machine interaction; the at least one sensor beingoperatively connected to at least one of: i. the body part other thanthe subject's brain, which is used for interacting with the machine; ii.the subject's brain; and iii. the machine; the computer processor isconfigured to: compare the command related data values being measuredwith pre-stored command related reference data values, and determined adifference between them; based on a determined difference between thecommand related data values being measured and the command relatedreference data values, identify, that the command related data values,characterizing the motor-command generated by the subject during theinteraction of the subject with the controlled machine, are indicativeof an interaction-error, under a condition that the determineddifference complies with a predefined value; and responsive toidentification of the interaction-error, provide feedback to the subjectindicative of the interaction-error, thereby reinforcing the performanceof the subject during human-machine interaction.
 20. The systemaccording to claim 19, wherein the at least one processor is configuredfor providing the feedback, to generate instructions for causing thehuman-machine interaction device to generate a counter reaction.
 21. Thesystem according to claim 19, wherein the feedback is proportional tothe measured command related data.